Automatic Construction of Special Purpose Programs

نویسنده

  • Chris Goad
چکیده

According to the usual formulation of the automatic programming task, one starts with a specification of a programming problem, and seeks to automatically construct a program satisfying that specification. This paper concerns a different style of automatic programming. Rather than defining the class of programming problems to be dealt with by the language in which those problems are formulated, we instead consider classes of problems defined in ordinary mathematical terms. Also, our aims are different from the traditional aims of automatic programming in that we are interested primarily in increasing the efficiency of computations, rather than in transfering the burden of programming from human to computer. Let a(p, z, y) be a ternary predicate. Suppose that in the course of some large computation we are obliged to repeatedly compute values of y with a(p, x, y) from given values of p and x. Suippose further that in the sequence of p's and z's to be treated, p changes slowly and x rapidly. Then we seek to automatically synthesize a fast special purpose program Ap for each p; Ap is expected to compute a y with a(p, z, y) when given z as input. We present one example of special purpose automatic programming in detail, namely, a method for synthesizing special purpose programs for eliminating the hidden surfaces from displays of three dimensional scenes. (Hidden surface elimination is one of the central problems in three dimensional computer graphics). In a test of the method, a synthetic program specialized to treating a particular scene but from an arbitrary point of view proved to be an order of magnitude faster than the best available general purpose algorithm.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Real Time Control For Interactive Computer Music and Animation

Real-time systems are commonly regarded as the most complex form of computer program due to parallelism, the use of special purpose input/output devices, and the fact that time-dependent errors are hard to reproduce. Several practical techniques can be used to limit the complexity of implementing realtime interactive music and animation programs. The techniques are: (1) a program structure in w...

متن کامل

Nonstandard Interpretations of Probabilistic Programs for Efficient Inference

Probabilistic programming languages allow modelers to specify a stochastic process using syntax that resembles modern programming languages. Because the program is in machine-readable format, a variety of techniques from compiler design and program analysis can be used to examine the structure of the distribution represented by the probabilistic program. We show how nonstandard interpretations ...

متن کامل

Construction and Evaluation of an Incremental Iterative Version of a Parallel Multigrid Cfd Code via Automatic Diierentiation for Shape Optimization Construction and Evaluation of an Incremental Iterative Version of a Parallel Multigrid Cfd Code via Automatic Diierentiation for Shape Optimization

Automatic diierentiation (AD) is a technique for augmenting computer codes to compute derivatives of a subset of their outputs with respect to a subset of their inputs. AD has been shown to provide accurate, but ineecient, sensitivity-enhanced CFD codes for use in aerodynamic shape optimization. To address the ineeciency problem, several special purpose techniques have been suggested. One such ...

متن کامل

An Automatic Verifier for Java-Like Programs Based on Dynamic Frames

Data abstraction is crucial in the construction of modular programs, since it ensures that internal changes in one module do not propagate to other modules. In object-oriented programs, classes typically enforce data abstraction by providing access to their internal state only through methods. By using method calls in method contracts, data abstraction can be extended to specifications. In this...

متن کامل

Automatic graph construction of periodic open tubulene ((5,6,7)3) and computation of its Wiener, PI, and Szeged indices

The mathematical properties of nano molecules are an interesting branch of nanoscience for researches nowadays. The periodic open single wall tubulene is one of the nano molecules which is built up from two caps and a distancing nanotube/neck. We discuss how to automatically construct the graph of this molecule and plot the graph by spring layout algorithm in graphviz and netwrokx packages. The...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1982